package mapproviderapi;

import java.util.List;


public abstract class MapProvider {
	protected int tileWidth;
	
	protected int tileHeight;
	
	protected int maxZoom;
	
	protected int mapWidth;
	
	protected int mapHeight;
	
	public int getTileWidth(){
		return tileWidth;
	}
	
	public int getTileHeight(){
		return tileHeight;
	}
	
	public int getMaxZoom(){
		return maxZoom;
	}
	
	public int getMapHeight(){
		return mapHeight;
	}
	
	public void setMapHeight(int mapHeight){
		this.mapHeight = mapHeight;
	}
	
	public int getMapWidth(){
		return mapWidth;
	}
	
	public void setMapWidth(int mapWidth){
		this.mapWidth = mapWidth;
	}
	
	/**
	 * 
	 * @param center
	 * @param zoom
	 * @return
	 */
	public abstract List<MapTile> getMapTiles(Coordinate center, int zoom);	
	
	protected MapProvider(int mapWidth, int mapHeight){
		this.mapWidth = mapWidth;
		this.mapHeight = mapHeight;
	}
}
